//
//  VistaSubcategoriasProducto.m
//  ProyectoMoviTiendas
//
//  Created by Mario Franco on 3/8/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "VistaSubcategoriasProducto.h"
#import "SubcategoriaProducto.h"
#import "VistaProductos.h"

@interface VistaSubcategoriasProducto ()
{
    NSArray * productosAMostrar;
    SubcategoriaProducto * subcateSeleccionada;
}

@end

@implementation VistaSubcategoriasProducto

@synthesize subcategorias;

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
    // Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];

// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

// Return the number of rows in the section.
return [subcategorias count]+1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (!cell)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell...


if (![indexPath row])
{
    cell.textLabel.text = @"Buscar en todas las subcategorías";
}
else {
    SubcategoriaProducto * subcategoria  = [subcategorias objectAtIndex:[indexPath row]-1];
    
    cell.textLabel.text = subcategoria.nombre;
}

cell.textLabel.font = [UIFont systemFontOfSize:18];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;

// Configure the cell...

return cell;
}

/*
 // Override to support conditional editing of the table view.
 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
 {
 // Return NO if you do not want the specified item to be editable.
 return YES;
 }
 */

/*
 // Override to support editing the table view.
 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
 {
 if (editingStyle == UITableViewCellEditingStyleDelete) {
 // Delete the row from the data source
 [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
 }   
 else if (editingStyle == UITableViewCellEditingStyleInsert) {
 // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
 }   
 }
 */

/*
 // Override to support rearranging the table view.
 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
 {
 }
 */

/*
 // Override to support conditional rearranging of the table view.
 - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
 {
 // Return NO if you do not want the item to be re-orderable.
 return YES;
 }
 */

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    if(![indexPath row]) 
    {
        NSMutableArray * arreglo = [[NSMutableArray alloc] init];
        
        for (SubcategoriaProducto *subcate in subcategorias) {
            [arreglo addObjectsFromArray:subcate.productos];
            
            productosAMostrar = [NSMutableArray arrayWithArray:arreglo];
            subcateSeleccionada = nil;
        }
    }
    else 
    {
        SubcategoriaProducto * subcate =[subcategorias objectAtIndex:[indexPath row]-1];
        productosAMostrar = subcate.productos;
        subcateSeleccionada = subcate;
        
    }
    
    [self performSegueWithIdentifier:@"verProductos" sender:self];
    
}

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    VistaProductos * vista = [segue destinationViewController];
    vista.productos = productosAMostrar;
    if (subcateSeleccionada) {
        vista.title = subcateSeleccionada.nombre;
    }
    else {
        vista.title = @"Productos";
    }
    
}


@end